package dawn.jxufe.community.entity;

import java.util.HashMap;
import java.util.Map;

/**
 * @author dawn21
 * @version 1.0
 * @date 2022/8/17 20:29
 * @component
 */

public class Event {

    private String topic; // 主题，事件类型。
    private int userId; // 谁触发的事件，也就是事件来源于谁。
    private int entityType; // 这个人做的操作：点赞、回复、关注，事件发生在哪个实体上。
    private int entityId;
    private int entityUserId; // 实体(帖子、评论、关注者)的作者。
    private Map<String, Object> data = new HashMap<>(); // 以后扩展的可能的数据，无法预判类型。

    public String getTopic() {
        return topic;
    }

    public Event setTopic(String topic) {
        this.topic = topic;
        return this; // 设置当前对象的主题，然后返回当前对象，那么就可以继续设置当前对象。
    }

    public int getUserId() {
        return userId;
    }

    public Event setUserId(int userId) {
        this.userId = userId;
        return this;
    }

    public int getEntityType() {
        return entityType;
    }

    public Event setEntityType(int entityType) {
        this.entityType = entityType;
        return this;
    }

    public int getEntityId() {
        return entityId;
    }

    public Event setEntityId(int entityId) {
        this.entityId = entityId;
        return this;
    }

    public int getEntityUserId() {
        return entityUserId;
    }

    public Event setEntityUserId(int entityUserId) {
        this.entityUserId = entityUserId;
        return this;
    }

    public Map<String, Object> getData() {
        return data;
    }

    public Event setData(String key, Object value) {
        this.data.put(key, value);
        return this;
    }
}
